package com.wx.mall.goods.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wx.mall.common.api.CommonPage;
import com.wx.mall.common.api.PageVo;
import com.wx.mall.common.vo.goods.SkuVo;
import com.wx.mall.goods.entity.Sku;
import com.wx.mall.goods.vo.req.SkuMatchVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品SKU 服务类
 * </p>
 *
 * @author ljl
 * @since 2020-04-16
 */
public interface ISkuService extends IService<Sku> {

    /**
     * 分页查询 商品SKU id倒序的方式
     *
     * @param vo 分页vo
     * @return
     */
    CommonPage<SkuVo> pageList(PageVo vo);

    /**
     * 分页查询 商品SKU id倒序的方式
     *
     * @param vo 分页vo
     * @param id supId
     * @return
     */
    CommonPage<SkuVo> pageListBySpuId(PageVo vo,Integer id);

    /**
     * 分页查询 商品SKU id倒序的方式
     *
     * @param id supId
     * @return
     */
    List<SkuVo> listBySpuId(Integer id);

    /**
     * 根据SKU编号 模糊查询 并分页
     *
     * @param vo
     * @return
     */
    CommonPage<SkuVo> pageMatch(SkuMatchVo vo);

    /**
     * 根据SKU编号 模糊查询
     *
     * @param encode
     * @return
     */
    List<SkuVo> selectMatch(String encode);

    /**
     * 添加商品SKU
     */
    void insertEntity(SkuVo vo);

    /**
     * 根据id软删除数据
     */
    void deleteEntity(Integer id);

    /**
     * 根据id获取单条数据
     */
    SkuVo selectEntity(Integer id);

    /**
     * 更新商品SKU
     */
    Boolean updateEntity(SkuVo vo);

    /**
     * 图片上传
     */
    Map<String, String> uploadImage(MultipartFile file, String name);

    /**
     * 图片上传
     */
    Boolean deleteImage(String fileName);

}
